home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 140 / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan).7z / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan) (Track 1).bin / tools / xpicw / xpicw110.lzh / WLSource / std.s < prev    next >
Encoding:
Text File  |  1997-04-10  |  1.4 KB  |  82 lines

  1. *    std.s    standard
  2. *        一番単純なワイプルーチンのサンプル
  3. *        ただ転送するだけ(ワイプでも何でもないような) / 最高速 = 0
  4. *            by Mitsuky
  5.  
  6.  
  7. SPEED_MAX    equ    0
  8.  
  9.     .offset    8        * 引き数
  10. _source_ptr:    .ds.l    1
  11. _dest_ptr:    .ds.l    1
  12. _speed:        .ds.l    1
  13. _vdisp:        .ds.l    1
  14.  
  15.  
  16.  
  17.     .text
  18.     .even
  19.  
  20.     .dc.b    'WL10',$0d,$0a
  21.     .dc.b    'ただ転送するだけ(ワイプでも何でもないような) / 最高速 = 0',$0d,$0a
  22.     .dc.b    '    by Mitsuky',$0d,$0a
  23.     .dc.b    $1a
  24.     .even
  25.  
  26. std:
  27.     link    a6,#0
  28.     movem.l    d1-d7/a0-a5,-(sp)
  29.  
  30.     move.l    _speed(a6),d0        * 速度が負の時は
  31.     bmi    std_ask_speed        * 速度設定可能範囲問い合わせ
  32.     cmpi.l    #SPEED_MAX,d0
  33.     bhi    std_err            * 速度が設定範囲外
  34.  
  35.     move.l    _vdisp(a6),d0        * 垂直同期待ちサブルーチンが負の時は
  36.     bmi    std_ask_vdisp        * 描画完了までの時間問い合わせ
  37.  
  38.     movea.l    _source_ptr(a6),a0    * a0.l = 転送元アドレス
  39.     movea.l    _dest_ptr(a6),a1    * a1.l = 転送先アドレス
  40.     movea.l    _vdisp(a6),a2        * a2.l = 垂直同期待ちサブルーチンアドレス
  41.  
  42.     jsr    (a2)
  43.  
  44.     move.w    #512*(512/64)-1,d7
  45. loop:    movem.l    (a0)+,d0-d6/a3
  46.     movem.l    d0-d6/a3,(a1)
  47.     movem.l    (a0)+,d0-d6/a3
  48.     movem.l    d0-d6/a3,32*1(a1)
  49.     movem.l    (a0)+,d0-d6/a3
  50.     movem.l    d0-d6/a3,32*2(a1)
  51.     movem.l    (a0)+,d0-d6/a3
  52.     movem.l    d0-d6/a3,32*3(a1)
  53.     lea.l    32*4(a1),a1
  54.     dbra    d7,loop
  55.  
  56.  
  57.     moveq.l    #0,d0
  58. std_rts:
  59.     movem.l    (sp)+,d1-d7/a0-a5
  60.     unlk    a6
  61.     rts
  62.  
  63.  
  64. ****    ****
  65. std_err:
  66.     moveq.l    #-1,d0
  67.     bra    std_rts
  68.  
  69.  
  70. ****    ****
  71. std_ask_speed:
  72.     moveq.l    #SPEED_MAX,d0
  73.     bra    std_rts
  74.  
  75.  
  76. ****    ****
  77. std_ask_vdisp:
  78.     moveq.l    #1,d0
  79.     bra    std_rts
  80.  
  81.  
  82.